home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Library / +ORC / Orc pac C / FILEZ.ZIP / CODEBAR.ZIP / 2.TXT < prev    next >
Encoding:
Text File  |  1996-02-20  |  4.7 KB  |  99 lines

  1.     ***************
  2.     *   CODEBAR   *
  3.     ***************
  4.  
  5.   Les treize chiffres du code α barres
  6.   ========================================================
  7.  
  8.   Les deux premiers chiffres du code (n0 et n1) sont des drapeaux donnant une 
  9. indication sur la nature ou lÆorigine du produit. Les dix suivants (n2 α n11) 
  10. constituent le code associΘ α lÆarticle, et le dernier (n12) est une somme de 
  11. contr⌠le destinΘe α certifier la validitΘ du code.
  12.   n12 est calculΘ comme suit. On additionne les valeurs des chiffres de position 
  13. impaire, auxquels on ajoute la somme des chiffres de position paire, que lÆon 
  14. multiplie par 3. De ce rΘsultat, on ne retient que les unitΘs. La suite est alors trΦs 
  15. simple:
  16.   n12 = (n0+n2+n4+n6+n8+n10) + (n1+n3+n5+n7+n9+n11)*3
  17.   n12 = n12 modulo 10
  18.   si n12 <> 0, alors n12 = 10 - n12
  19.  
  20.  
  21.  
  22.   Le dessin du code
  23.   ========================================================
  24.  
  25.   Le code est limitΘ par deux marques de bord, situΘes α ses extrΘmitΘs droite et 
  26. gauche, et une marque de sΘparation placΘe en son milieu. Ces lignes, 
  27. gΘnΘralement plus longues que les autres, permettent dÆΘtalonner lÆappareil de 
  28. lecture en lui indiquant la largeur des barres utilisΘes pour le code. Cet Θtalonnage 
  29. permet de nÆΩtre pas contraint α respecter un standard de dimensions lors de 
  30. lÆimpression.
  31.   Le premier drapeau (n0), dont la valeur est la plupart du temps indiquΘe sur la 
  32. gauche de la premiΦre marque de bord, bΘnΘficie dÆun codage spΘcial que nous 
  33. verront plus loin.
  34.   Les douze valeurs suivantes sont directement inscrites dans le code, divisΘes en 
  35. deux groupes de six par la marque de sΘparation.
  36.   Chaque valeur est codΘe grΓce α sept barres noires ou blanches (1 ou 0).
  37.   Ce codage fait appel aux trois ½ jeux de caractΦres ╗ qui suivent (entre 
  38. parenthΦses, la valeur dΘcimale du caractΦre codΘ en binaire):
  39.  
  40.        Jeu de caractΦres A        Jeu de caractΦres B        Jeu de caractΦres C
  41.        ------------------------       ------------------------       ------------------------
  42.   0:      0001101   (13)              0100111   (39)              1110010   (114)
  43.   1:      0011001   (25)              0110011   (51)              1100110   (102)
  44.   2:      0010011   (19)              0011011   (27)              1101100   (108)
  45.   3:      0111101   (61)              0100001   (33)              1000010   (066)
  46.   4:      0100011   (35)              0011101   (29)              1011100   (092)
  47.   5:      0110001   (49)              0111001   (57)              1001110   (078)
  48.   6:      0101111   (47)              0000101   (05)              1010000   (080)
  49.   7:      0111011   (59)              0010001   (17)              1000100   (068)
  50.   8:      0110111   (55)              0001001   (09)              1001000   (072)
  51.   9:      0001011   (11)              0010111   (23)              1110100   (116)
  52.  
  53.   Marques de bord:          101
  54.   Marque de sΘparation:  01010
  55.  
  56.   Le jeu C est composΘ des chiffres inverses (NOT) du jeu A. Le jeu B est un 
  57. miroir du jeu C. La consΘquence est que tous les caractΦres des jeux B et C sont 
  58. de paritΘ paire, tandis que ceux du jeu A sont de paritΘ impaire.
  59.  
  60.   La premiΦre moitiΘ des valeurs est codΘe grΓce aux jeux A et B, la deuxiΦme 
  61. moitiΘ utilise le jeu C.
  62.   Le choix des jeux A ou B dans la premiΦre moitiΘ est dictΘ par la valeur du 
  63. premier drapeau (n0), α lÆaide du tableau qui suit:
  64.  
  65.   Valeur           Jeu de caractΦres          Valeur dΘcimale
  66.    de n0                    pour:                    (pour A=0; B=1)
  67.   ------------------------------------------------------------------
  68.                   n1   n2   n3   n4   n5  n6
  69.       0          A    A    A    A    A   A              (00)
  70.       1          A    A    B    A    B    B              (11)
  71.       2          A    A    B    B    A    B              (14)
  72.       3          A    A    B    B    B    A              (13)
  73.       4          A    B    A    A    B    B              (19)
  74.       5          A    B    B    A    A    B              (25)
  75.       6          A    B    B    B    A    A              (28)
  76.       7          A    B    A    B    A    B              (21)
  77.       8          A    B    A    B    B    A              (22)
  78.       9          A    B    B    A    B    A              (26)
  79.  
  80.   Notez que lÆappareil de lecture pourra dΘduire le jeu duquel le caractΦre est tirΘ 
  81. grΓce α sa paritΘ, et ainsi retrouver la valeur de n0.
  82.  
  83.  
  84.   Exemple
  85.   ========================================================
  86.  
  87.   Soit le code:     9 782868 997968
  88.  
  89.   Calcule de la somme de contr⌠le:
  90. (9+8+8+8+9+9) + (7+2+6+9+7+6)*3 = 51+37*3 = 51+111 =162
  91. 162 Modulo 10 = 2
  92. 10 - 2 = 8
  93.  
  94.   Choix des jeux de caractΦres:
  95. n0=9, donc: ABBABA CCCCCC
  96.  
  97. Voilα, cÆest tout.
  98.  
  99.